package com.nowcoder.community.z_util;

import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.DigestUtils;

import java.util.HashMap;
import java.util.UUID;

import java.util.Map;
//生成随机数 ， String加密
public class CommunityUtil {

    // 生成随机字符串
    public static String generateUUID() {
        return UUID.randomUUID().toString().replaceAll("-", "");
    }

    // MD5加密
    // hello -> abc123def456
    // hello + 3e4a8 -> abc123def456abc
    public static String md5(String key) {
        if (StringUtils.isBlank(key)) {
            return null;
        }
        return DigestUtils.md5DigestAsHex(key.getBytes());
    }


    /**
     * <p>——————————————————————————————————————————————-————
     * <p>   【当前类】CommunityUtil
     * <p>
     * <p>   【谁调用我】java返回给ajax（前台页面自动json不用转）
     * <p>
     * <p>   【调用我干什么】用java基本类型生成jsonString/重载几个
     * <p>——————————————————————————————————————————————-————
     *
    */
    public static String javaToJsonString(int code, String msg, Map<String,Object> map){//map自己import
        JSONObject json = new JSONObject();
        json.put("code",code);//状态码-Msg，具体内容map
        json.put("msg",msg);
        if(map!=null){
            for(String k:map.keySet()){
                json.put(k,map.get(k));
            }
        }
        return json.toJSONString();
    }
    //重载首用
    public static String javaToJsonString(int code, String msg){//必有状态码！，msg不一定有！
        return javaToJsonString(code,msg,null);//这样外面不用写null，用着舒服？
    }
    public static String javaToJsonString(int code) {
        return javaToJsonString(code,null);//不用if msg？
    }
    //测试用main，千万别用test会报错
    public static void main(String[] args) {
        Map<String,Object> map = new HashMap<>();
        map.put("name",1);
        map.put("age",23);
        //{"msg":"成功","code":0,"name":1,"age":23}
        System.out.println(javaToJsonString(0,"成功",map));
    }




}
